package chapter10.section5;

import java.io.File;
import java.io.IOException;

public class FileDemo {
    public static void main(String[] args) {
        // 1. 创建File对象（不代表实际文件）
        File file = new File("demo.txt");

        // 2. 创建新文件
        try {
            if (file.createNewFile()) {
                System.out.println("文件创建成功: " + file.getName());
            } else {
                System.out.println("文件已存在");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        // 3. 查询文件属性
        System.out.println("文件路径: " + file.getAbsolutePath());
        System.out.println("文件大小: " + file.length() + " bytes");
        System.out.println("是否可读: " + file.canRead());
        System.out.println("是否可写: " + file.canWrite());
        System.out.println("是否隐藏: " + file.isHidden());

        // 4. 删除文件
        if (file.delete()) {
            System.out.println("文件删除成功");
        } else {
            System.out.println("文件删除失败");
        }

        // 5. 目录操作示例
        File dir = new File("test_dir");
        if (dir.mkdir()) {
            System.out.println("目录创建成功: " + dir.getName());

            // 在目录中创建子文件
            File subFile = new File(dir, "subfile.txt");
            try {
                subFile.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }

            // 列出目录内容
            System.out.println("\n目录内容:");
            String[] files = dir.list();
            for (String f : files) {
                System.out.println(f);
            }

            // 删除目录（需先删除内容）
            subFile.delete();
            dir.delete();
        }
    }
}
